/**
 * 返回一个个中间件函数
 */
const fs = require("fs");
const path = require("path");
module.exports = () => {
    // 返回一个中间件
    return async (ctx, next) => {
        // 如果是登录或注册接口，直接走，不记录了
        if (ctx.path === "/denglu" || ctx.path === "/zhuce") {
            await next();
            return;
        }
        // 先请求，向下执行
        await next();
        // 如果删除成功了，就会返回 204，然后我们再记录一下删除操作
        if (ctx.body.code === 204 && ctx.method === "DELETE") {
            const content = `${ctx.user.nickname} 执行了删除操作，删除的资源是：${ctx.path}\n`;
            fs.appendFileSync(
                path.join(__dirname, "../../logs/api-egg/logger.txt"),
                content
            );
        }
    };
};
